Advances in plasma processing have provided for growth in the semiconductor industry. As plasma processing continues to evolve, the needs for customized software applications to collect and analyze the data collected by the plasma processing system have also increased. As discussed herein, customized software application refers to software application that may be created to meet specific needs of an individual, a group, a department, a company, etc.
Customized software applications may be create for various reasons. For example, a customized software application may be created to simplify the task of collecting and/or retrieving information from a plasma processing system. Customized software application may also be created to provide procedural guidelines, such as ATAC test plans. In another example, customized software application may also be created to automate repetitive tasks.
Regardless of the reason for needing customized software applications, the task of creating customized software applications may be a complicated and complex task that generally requires programming skills and knowledge that a non-programmer may not possess. In addition, the task of maintaining and updating the customized software application may also require programming skills and knowledge. Consequently, the task of creating, maintaining, and updating customized software application in a plasma processing environment may become an expensive and a time-consuming task.
A method for creating customized software application may include having a software programmer employs a text editor to write software code. Once the software code has been crafted, the software code may be complied before an executable file may be generated. This method may be a time-consuming process that may require a software programmer to write code for both the design of the application and the function of the application. In an example, a simple form to collect data about a student may require a software programmer to write the code to design the physical format of the form and then write code to control the functionality and behavior of the form.
Another method for generating customized software application in a plasma processing environment may be based on an integrated development environment (IDE). IDE or also known as design editor refers to software that may be employed to develop other software applications. IDE may include, but are not limited to, components for creating a graphical user interface (GUI), text code editor for creating and editing code, tools to aid in the construction of a graphical user interface (GUI), a debugger, and a complier. Examples of IDE include, but are not limited to Microsoft® Visual Studio, Borland® Delphi, and National Instrument™ LabVIEW. With IDE, the task of creating the program code for a software application may be simplified. In an example, instead of writing the code for the GUI and the functionality of a software application, an IDE may have components that a programmer may employ to simplify the task of creating the GUI. However, even with the IDE, the creator of the software application still has to have the skill and knowledge to write the code that defines the functionality of GUI.
To facilitate discussion, FIG. 1 shows a simple development cycle for developing customized software application in a plasma processing environment. At a first step 102, a need for a customized software application may be identified. Consider the situation wherein, for example, testers may need a software application for creating test plans. At a next step 104, a programmer may employ an IDE (e.g., Microsoft® Visual Studio, Borland® Delphi, and National Instrument™ LabVIEW) to begin the process of creating the software application.
At a next step 106, the programmer may design the GUI for the software application. In an example, to create the GUI for a form, the programmer may add components (such as text box, list box, checkbox, etc.) to the IDE to create the layout for the form.
At a next step 108, the programmer may write the code for the software application. The code may include, but are not limited to, defining load specifications, defining sequence for functionality, defining logic criteria, identify tables, and code for handling data entry.
At a next step 110, the programmer may compile the code to identify potential bugs and to create an executable file.
At a next step 112, the method may determine whether or not the code includes bugs. Since the code is written by a programmer, the code may be susceptible to human errors (e.g., bugs). In an example, if the programmer is creating a form for collecting data, the programmer may have to know the name of the tables and the table fields that may store the data collected by the form. While writing the table information into the code, the programmer may misspell the table fields resulting in a potential bug in the code.
If the code contains bugs, then at a next step 114, the method may provide a warning. By receiving this warning, the programmer may have to debug the code and implement a fix before returning to a next step 110 to compile the code again. Steps 110 through steps 114 may be iterative until all bugs have been identified.
If no additional bugs are identified, then at a next step 116, an executable file may be created.
At a next step 118, the customized software application may be distributed to end-users. In an example, once the programmer has completed creating the software application for the testers, the customized software application may be deployed.
The IDE method of creating customized software application may require skill and knowledge that a non-programmer may not possess. Further, changes to the customized software application may require code changes and may require the code to be re-complied. In an example, a programmer may not have understood the requirement of the end-user, thus, creating a software application that may require changes to be made to the software application. To implement changes, new code may have to be written and the code may have to be re-complied.